#pragma once
#include <vector>

class NeuralNet
{
public:
	NeuralNet(size_t inCount, const std::vector<size_t>& layersSize);
	size_t getWeightsCount() const;
	float* getWeights();
	float* run(float* in);
private:
	void calc();
	size_t inCount;
	size_t neuronCount;
	size_t layersCount;
	std::vector<size_t> layersSize;
	std::vector<float*> layersIn;
	std::vector<size_t> layersInCount;
	std::vector<std::vector<float> > layersOut;
	std::vector<float*> layersWeight;
	std::vector<float> weights;
};